[PATCH 10/24] auth: userdb sql - Fix escaping for user iteration
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Tue, 24 Feb 2026 10:26:46 +0000 (12:26 +0200)
committerNoah Meyerhans <noahm@debian.org>
Tue, 31 Mar 2026 19:07:17 +0000 (15:07 -0400)
This is mostly a non-issue, since userdb iteration doesn't take any
untrusted input.

Broken by ef0c63b690e6ef9fbd53cb815dfab50d1667ba3a

Gbp-Pq: Name CVE-2026-24031-27860-7.patch

src/auth/userdb-sql.c

index 349f61c49e42ae0f4d1cfe353f541e84ebdd8247..09bac486508d3a25fe2f6180dad5e3044b4893bd 100644 (file)
@@ -180,9 +180,13 @@ userdb_sql_iterate_init(struct auth_request *auth_request,
        ctx->ctx.context = context;
        auth_request_ref(auth_request);
 
-       if (settings_get(authdb_event(auth_request),
-                        &userdb_sql_setting_parser_info, 0,
-                        &set, &error) < 0) {
+       const struct settings_get_params params = {
+               .escape_func = userdb_sql_escape,
+               .escape_context = module->db,
+       };
+       if (settings_get_params(authdb_event(auth_request),
+                               &userdb_sql_setting_parser_info, &params,
+                               &set, &error) < 0) {
                e_error(authdb_event(auth_request), "%s", error);
                ctx->ctx.failed = TRUE;
                return &ctx->ctx;